using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using MakeIT.Deo.Negocios;
using System.Net.Mail;
using System.Configuration;
using System.Net;

namespace MakeIT.Deo.Apresentacao
{
    public partial class FaleConosco : System.Web.UI.Page
    {
        string captcha = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            Util.logAcesso("Fale Conosco", null, null, null, null);

            captcha = (string)this.Session["captcha"];
            
            ParametroBO parametroBO = new ParametroBO();
            
            parametro parametroVO = parametroBO.RecuperaParametro("TextoEmailFaleConosco");
            this.LabelEmail.Text = parametroVO.Parametro;

            parametroVO = parametroBO.RecuperaParametro("TextoEmpresaFaleConosco");
            this.LabelEmpresa.Text = parametroVO.Parametro;

            parametroVO = parametroBO.RecuperaParametro("TextoFoneFaleConosco");
            this.LabelFone.Text = parametroVO.Parametro;

            parametroVO = parametroBO.RecuperaParametro("TextoEndereco1FaleConosco");
            this.LabelEndereco1.Text = parametroVO.Parametro;

            parametroVO = parametroBO.RecuperaParametro("TextoEndereco2FaleConosco");
            this.LabelEndereco2.Text = parametroVO.Parametro;

        }

        protected void ImageMapBrasil_Click(object sender, ImageMapEventArgs e)
        {
            this.tbUF.Text = e.PostBackValue;
        }

        protected void ButtonEnviar_Click(object sender, EventArgs e)
        {
            string capt = this.TextBoxCaptcha.Text;

            if (capt.ToUpper().Trim().Equals(captcha))
            {
                if (this.TextBoxMensagem.Text.Trim().Length > 0)
                {
                    sendEmail();
                    contato contatoVO = new contato();
                    contatoVO.nome = this.TextBoxNome.Text;
                    contatoVO.email = this.TextBoxMail.Text;
                    contatoVO.telefone = this.TextBoxFone.Text;
                    contatoVO.regiao = this.tbUF.Text + "-" + this.TextBoxCidade.Text;
                    contatoVO.assunto = this.TextBoxAssunto.Text;
                    contatoVO.mensagem = this.TextBoxMensagem.Text;
                    contatoVO.envio = DateTime.Today;
                    new ContatoBO().SalvarContato(contatoVO, true);

                    this.LiteralMensagem.Text = "Sua mensagem foi enviada!<Br> Aguarde nosso retorno.<br>Obrigado!";
                    this.ButtonEnviar.Visible = false;
                    this.PanelContato.Visible = false;
                    this.PanelOK.Visible = true;
                }
                else
                {
                    this.LiteralMensagem.Text = "Mensagem não informada.";
                }
            }
            else
            {
                this.LiteralMensagem.Text = "Código de segurança incorreto.";
            }
        }

        protected void sendEmail()
        {
            MailMessage oEmail = new MailMessage();
            MailAddress sDe = new MailAddress(ConfigurationManager.AppSettings["Email.Administrador"]);

            oEmail.To.Add(ConfigurationManager.AppSettings["Email.SAC"]);
            oEmail.From = sDe;
            oEmail.Priority = MailPriority.Normal;
            oEmail.IsBodyHtml = false;
            oEmail.Subject = "Contato de Cliente - Site www.deoplasticos.com.br";
            oEmail.Body = "Um usuário enviou esta mensagem pelo site www.deoplasticos.com.br:\n\n\n" +
                          "Nome: " + this.TextBoxNome.Text + "\n" +
                          "email: " + this.TextBoxMail.Text + "\n" +
                          "Fone: " + this.TextBoxFone.Text + "\n" +
                          "Estado: " + this.tbUF.Text + "\n" +
                          "Cidade: " + this.TextBoxCidade.Text + "\n" +
                          "Assunto: " + this.TextBoxAssunto.Text + "\n\n" +
                          "Mensagem:\n[ " + this.TextBoxMensagem.Text + " ]\n\n" +
                          "*Este email foi enviado automaticamente pelo site em " + DateTime.Now.ToString();

            SmtpClient oEnviar = new SmtpClient();
            oEnviar.Host = ConfigurationManager.AppSettings["Email.Host.SMTP"];
            oEnviar.Port = int.Parse(ConfigurationManager.AppSettings["Email.Host.SMTP.Port"]);
            oEnviar.Credentials = new NetworkCredential(
                                            ConfigurationManager.AppSettings["Email.Administrador"],
                                            ConfigurationManager.AppSettings["Email.Administrador.Pass"]);
            oEnviar.Send(oEmail);
            oEmail.Dispose();
        }

    }
}
